package com.dinglian.ots.common;

import org.apache.shiro.crypto.hash.SimpleHash;
import org.apache.shiro.util.ByteSource;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class EncryptHelper {
	
	public static String encryptByMD5(String username, String password){
		String algorithmName = "MD5";
		Object salt = ByteSource.Util.bytes(username);;
		int hashIterations = 1024;
		SimpleHash result = new SimpleHash(algorithmName, password, salt, hashIterations);
		return result.toString();
	}

	public static String SHA1(String str) {
		try {
			//指定sha1算法
			MessageDigest digest = MessageDigest.getInstance("SHA-1");
			digest.update(str.getBytes());
			//获取字节数组
			byte messageDigest[] = digest.digest();
			// Create Hex String
			StringBuffer hexString = new StringBuffer();
			// 字节数组转换为 十六进制 数
			for (int i = 0; i < messageDigest.length; i++) {
				String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
				if (shaHex.length() < 2) {
					hexString.append(0);
				}
				hexString.append(shaHex);
			}
			return hexString.toString().toLowerCase();

		} catch (NoSuchAlgorithmException e) {
			return "";
		}
	}

//	public extend WxUserInfo decryptWxUserInfo(String encryptedData, String sessionKey, String iv) throws Exception {
//		String result = AesCbcUtil.decrypt(encryptedData, sessionKey, iv, ResponseHelper.CHARACTER_ENCODING);
//		return JSONObject.parseObject(result, WxUserInfo.class);
//	}
	
	public static void main(String[] args) {
		System.out.println(encryptByMD5("admin", "admin"));
	}
}
